package com.sunjob.mrotech.server;

import com.sunjob.common.domain.tech.*;
import com.sunjob.common.result.Result;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;

/**
 * @author : xiaozhoutongxue
 * @date : 2022/8/2 9:48
 */
@Service
public interface ShapeServer {

    /** 增加构型实例（同时会增加一级结构）*/
    Result insertShapeComposition(InsertShapeCompositionVO com);

    /** 增加二级结构*/
    Boolean insertShape2(TransShape2 com);

    /** 增加三级结构*/
    Boolean insertShape3(TransShape3 com);

    /** 查找所有一级结构*/
    List<TransShape> getAllShape(int limit);

    /** 模糊查找一级构型名和id*/
    List<TransShape> getShapeByLittle(String little);

    /** 根据id查找一级以下的所有结构*/
    Result getshapeCompositionById(Long id);

    /** 根据id查找一级以下的二级结构*/
    Result getShape2CompositionById(Long id);

    /** 根据一级id和二级id查找二级以下的三级结构*/
    Result getShapa3CompositionByShapeIdAndShape2Id(Long shapeId,Long shape2Id);

    /** 查找所有二级结构 */
    Result getAllShapa2Composition();

    /** 只跟据二级id查找所有三级结构 */
    Result getAllShapa3Composition(Long shape2Id);

    /** 根据id删除构型(仅仅将status的值设置为1) */
    Result deleteShapeById(Long id);

    //todo /** 根据id删除二级、三级构型(考虑被使用的情况) */

    /** 根据id更新某构型的三级构型 */
    Result upadateShape3Composition(Long shapeId,Long shape2Id ,Long shape3Id ,int isNew);





}
